package com.bird.设计原则.迪米特原则;

import java.util.ArrayList;
import java.util.List;

/**
 * @data 2022/1/9 12:00
 * @author: bird
 * @description: 迪米特原则：一个对象应该对其它的对象了解的更少。
 * 即 Boss类只对 成员变量 方法的入参和出参了解 。对于方法的内部的对象不应该了解和创建。意思就是在boss类里面不能创建其它的类。
 * 场景：Boss类 想让teamleader看下在线售卖的课程有多少。
 * 即 Boss类与teamleader交互  teamleader 与couse交互。
 */
public class Boss {

    // Fix 未遵循迪米原则 原因是Boss类里面创建可Course课程实体类
//    public void commandCheckNumber(TeamLeader teamLeader) {
//        List<Course> courseList = new ArrayList<>();
//        for (int i = 0; i < 20; i++) {
//            courseList.add(new Course());
//        }
//        teamLeader.checkCourseNumber(courseList);
//    }

    // 这个遵循的迪米的原则 Boss类只与 方法的入参 出参 和成员变量交互，不与方法里面的类不交互
    public void commandCheckNumber(TeamLeader teamLeader) {
        teamLeader.checkCourseNumber();
    }

}
